﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Collections;
using Unis.Framework.ORM.IFace;

namespace Unis.ORM.IFace
{
    public interface IQuery
    {
        // Methods
        void Close();
        void Open();
        DataSet QueryDataSet();
        ICollection QueryObjects();

        // Properties
        Type EntityType { get; set; }
        string EntityTypeName { get; set; }
        string Filter { get; set; }
        bool IgnoreCache { get; set; }
        bool IsClosed { get; }
        string Ordering { get; set; }
        IPersistenceManager PersistenceManager { get; }
    }

    public interface IQuery<T> : IQuery
    {
        // Methods
        ICollection<T> QueryObjects();
    }
}
